<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        var arr = [];
        arr[0] = 'a';
        arr[1] = 'b';
        arr.foo = 'c';
        alert(arr.length); //2
        arr.length += arr.foo.length;
        alert(arr.length); //3

        // 核心要点:
        //     23
        // 答案解析:
        // 1. 考点: 数组与数组属性
        // 2. arr.foo当中， foo为arr数组的一个属性, 就如同
        // length - 样， 对于一个数组arr来说， 它具有自己
        // 的数组元素, 而arr.length则是arr数组的属性, 并
        // 不会影响任何长度问题;
        // 3. 在第一 - 次alert时， 弹出的应该是arr这个数组的
        // 数组元素数量， 即2;
        // 4. arr.foo这个属性的长度为1, 所以第二次弹出。
        // 的值为3(2 + 1)。
    </script>
</body>

</html>